/*  1:   */ package org.jetbrains.jps.model.artifact.impl.elements;
/*  2:   */ 
/*  3:   */

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jps.model.JpsElementChildRole;
import org.jetbrains.jps.model.artifact.elements.JpsModuleOutputPackagingElement;
import org.jetbrains.jps.model.ex.JpsCompositeElementBase;
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
import org.jetbrains.jps.model.module.JpsModule;
import org.jetbrains.jps.model.module.JpsModuleReference;

/*  4:   */
/*  5:   */
/*  6:   */
/*  7:   */
/*  8:   */
/*  9:   */
/* 10:   */
/* 11:   */
/* 12:   */ 
/* 13:   */ public abstract class JpsModuleOutputPackagingElementBase<Self extends JpsModuleOutputPackagingElementBase<Self>>
/* 14:   */   extends JpsCompositeElementBase<Self>
/* 15:   */   implements JpsModuleOutputPackagingElement
/* 16:   */ {
/* 17:33 */   private static final JpsElementChildRole<JpsModuleReference> a = JpsElementChildRoleBase.create("module reference");
/* 18:   */   
/* 19:   */   public JpsModuleOutputPackagingElementBase(JpsModuleReference paramJpsModuleReference)
/* 20:   */   {
/* 21:36 */     this.myContainer.setChild(a, paramJpsModuleReference);
/* 22:   */   }
/* 23:   */   
/* 24:   */   public JpsModuleOutputPackagingElementBase(JpsModuleOutputPackagingElementBase<Self> paramJpsModuleOutputPackagingElementBase)
/* 25:   */   {
/* 26:40 */     super(paramJpsModuleOutputPackagingElementBase);
/* 27:   */   }
/* 28:   */   
/* 29:   */   @NotNull
/* 30:   */   public JpsModuleReference getModuleReference()
/* 31:   */   {
/* 32:46 */     JpsModuleReference tmp13_10 = ((JpsModuleReference)this.myContainer.getChild(a));
/* 33:46 */     if (tmp13_10 == null) {
/* 34:46 */       throw new IllegalStateException(String.format("@NotNull method %s.%s must not return null", new Object[] { "org/jetbrains/jps/model/artifact/impl/elements/JpsModuleOutputPackagingElementBase", "getModuleReference" }));
/* 35:   */     }
/* 36:46 */     return tmp13_10;
/* 37:   */   }
/* 38:   */   
/* 39:   */   @Nullable
/* 40:   */   public String getOutputUrl()
/* 41:   */   {
/* 42:52 */     JpsModule localJpsModule = (JpsModule)getModuleReference().resolve();
/* 43:53 */     if (localJpsModule == null) {
/* 44:53 */       return null;
/* 45:   */     }
/* 46:54 */     return getOutputUrl(localJpsModule);
/* 47:   */   }
/* 48:   */   
/* 49:   */   @Nullable
/* 50:   */   protected abstract String getOutputUrl(@NotNull JpsModule paramJpsModule);
/* 51:   */ }



/* Location:           E:\idea\

 * Qualified Name:     org.jetbrains.jps.model.artifact.impl.elements.JpsModuleOutputPackagingElementBase

 * JD-Core Version:    0.7.0.1

 */